$(function(){ 
    
    var estados = 
        $.ajax({
            url: 'intranet/empresa/estados',
            datatype: "json",
            async: false,
            success: function(resultado){
                if (!resultado)
                    alert('Não foi possível carregar os estados');
                }
        }).responseText;
    
    
    jQuery("#gridEmpresa").jqGrid({
        caption: "Empresa",
        url: "intranet/empresa/lista",
        editurl: "intranet/empresa/crud",
	datatype: "json",
	colNames:['Razão Social', 'Nome', 'cnpj', 'Endereço', 'Número', 'Bairro', 'Cidade', 'UF', 
            'Responsável Técnico', 'Registro responsável técnico', 'Responsável Sorologia', 
            'Registro responsável sorologia', 'Mensagem', 'Ações'],
	colModel:[
            {name:'razaoSocial', index:'razaoSocial', hidden:true},
            {name:'nomeFantasia', index:'nomeFantasia', width:250, align:"center", sortable:false},
            {name:'cnpj', index:'cnpj', hidden:true},
            {name:'endereco', index:'endereco', hidden:true,
                editable:true, editrules:{required:true, edithidden:true},
                editoptions:{size: 50, maxlength: 255},
                formoptions:{elmsuffix:' *'}},
            {name:'numero', index:'numero', hidden:true,
                editable:true, editrules:{required:true, edithidden: true, integer:true},
                editoptions:{size: 10, maxlength: 10},
                formoptions:{elmsuffix:' *'}},
            {name:'bairro', index:'bairro', hidden:true,
                editable:true, editrules:{edithidden: true},
                editoptions:{size: 50, maxlength: 100}},
            {name:'cidade', index:'cidade', hidden:true, 
                editable:true, editrules:{required:true, edithidden: true},
                editoptions:{size: 50, maxlength: 100},
                formoptions:{elmsuffix:' *'}},
            {name:'estado', index:'estado', hidden:true,
                editable:true, editrules:{required:true, edithidden: true}, editoptions:{size:50},
                edittype:'select',
                formoptions:{elmsuffix:' *'}},
            {name:'nomRespTecnico', index:'nomRespTecnico', width:250, align:"center", sortable:false, 
                editable:true, editrules:{required:true},
                editoptions:{size: 50, maxlength: 100},
                formoptions:{elmsuffix:' *'}},
            {name:'crRespTecnico', index:'crRespTecnico', hidden:true, 
                editable:true, editrules:{required:true, edithidden: true},
                editoptions:{size:50,maxlength:50},
                formoptions:{elmsuffix:' *'}},
            {name:'nomRespSorologia', index:'nomRespSorologia', width:250, align:"center", sortable:false,
                editable:true, editrules:{required:true},
                editoptions:{size: 50, maxlength: 100},
                formoptions:{elmsuffix:' *'}},
            {name:'crRespSorologia', index:'crRespSorologia', hidden:true, 
                editable:true, editrules:{required:true, edithidden: true},
                editoptions:{size:50,maxlength:50},
                formoptions:{elmsuffix:' *'}},
            {name:'msgPadrao', index:'msgPadrao', hidden:true, 
                editable:true, editrules:{required:true, edithidden: true},
                edittype:'textarea',
                editoptions:{rows:"2",cols:"48"},
                formoptions:{elmsuffix:' *'}},
            {name:'acoes',index:'acoes', width:90, align:"center", sortable:false, search: false, hidden:false}
	],
        loadComplete: function(){
            $('#gridEmpresa').setColProp('estado', {editoptions: {value: estados}});
        },
	//rowNum: 10,
	//rowList: [10,20,30,50,100],
	width: 900,
	height: "100%",
	pager: '#navEmpresa',
	//sortname: "nomeCompleto",
	//sortorder: "ASC",
	multiselect: false,
        scroll: true,
	//viewrecords: true,
        //toolbar: [true,"top"],
	gridComplete: function(){
            var ids = jQuery("#gridEmpresa").jqGrid('getDataIDs');				
            be = '<img class="btnAlterar" rel="'+ids+'" src="public/images/pencil.png" title="Alterar" style="cursor:pointer; margin:2px" />';
            se = '<img class="btnVisualizar" rel="'+ids+'" src="public/images/lupa.png" title="Visualizar" style="cursor:pointer; margin:2px" />';
            jQuery("#gridEmpresa").jqGrid('setRowData',ids,{acoes:be+se});
            $('.btnAlterar').click(function(){
                var idEmpresa = $(this).attr('rel');
                jQuery('#gridEmpresa').jqGrid('editGridRow',idEmpresa, {width:590, savekey:[true,13], closeAfterEdit:true, 
                    checkOnSubmit:true, viewPagerButtons:false, bottominfo:"Os campos marcados com (*) são obrigatórios",
                    afterComplete: function(resposta){
                        var resultado = resposta.responseText;
                        if(resultado == 1){
                            alert('Operação realizada com sucesso.');
                        }else{
                            alert('Não foi possível realizar a operação.');
                        }
                    }
                });
            });
            $('.btnVisualizar').click(function(){
                var idEmpresa = $(this).attr('rel');
                jQuery('#gridEmpresa').jqGrid('viewGridRow',idEmpresa,{width:690, viewPagerButtons:false,
                    beforeShowForm: function(formid){
                        $('#trv_razaoSocial', formid).show();
                        $('#trv_cnpj', formid).show();
                        $('#trv_acoes', formid).hide();
                    }
                });
            
                //beforeShowForm: function() {$('acoes').hide();}
                //beforeShowForm: function() {jQuery('#gridEmpresa').setColProp("#acoes", {hidden:{value:true}})}
                //beforeShowForm: function(){jQuery('#gridEmpresa').jqGrid('hideCol', ['acoes'])}
            });
        }
     }).navGrid("#navEmpresa",{
            edit: false,
            add: false,
            del: false,
            search: false,
            view: false,
            refresh: false
    });
});